package com.itheima.users.dao;

import com.itheima.users.entity.User;

public class UserDatabaseInMemory implements UserDatabase {
    private static final int MAX_SIZE = 1000;
    //当数据库中没有数据时，数组中存储的是null，即使[null, null,...,null]
    private static final User[] USERS = new User[MAX_SIZE];
    private static int index = 0;
    @Override
    public boolean save(User user) {
        // 1.判断用户数是否超过最大值
        if (index >= MAX_SIZE) {
            System.out.println("用户数已经超过最大值，无法保存！");
            return false;
        }
        // 2.保存用户
        USERS[index] = user;
        index++;
        user.setId(index);
        return true;
    }

    @Override
    public User queryByUserId(String username) {
        if(username == null || username.length() == 0 || username.equals("")){
            return null;
        }
        // 1.遍历用户数组
        for (int i = 0; i < index ; i++) {
//            System.out.println("...遍历了...");
            User user = USERS[i];
            // 2.判断用户名是否相同
            if (user != null && username.equals(user.getUsername())) {
                return user;
            }
        }
        // 3.数组遍历完，依然没有，说明不存在
        return null;
    }
}
